View Javadoc

1   
2   /*
3    * SmartCrawler
4    *
5    * $Id: SCLogger.java,v 1.7 2005/07/29 10:18:29 vincool Exp $
6    * Copyright 2005 Davide Pozza
7    *
8    * This program is free software; you can redistribute it
9    * and/or modify it under the terms of the GNU General Public
10   * License as published by the Free Software Foundation;
11   * either version 2 of the License, or (at your option) any
12   * later version.
13   *
14   * This program is distributed in the hope that it will be
15   * useful, but WITHOUT ANY WARRANTY; without even the implied
16   * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
17   * PURPOSE. See the GNU General Public License for more
18   * details.
19   *
20   * You should have received a copy of the GNU General Public
21   * License along with this program; if not, write to the Free
22   * Software Foundation, Inc., 59 Temple Place, Suite 330,
23   * Boston, MA 02111-1307 USA
24   *
25   */
26  package org.smartcrawler.common;
27  
28  import java.util.Hashtable;
29  import java.util.Map;
30  import org.apache.log4j.Logger;
31  
32  /***
33   * Wrapper Log.
34   *
35   * @author <a href="mailto:pozzad@alice.it">Davide Pozza</a>
36   * @version <tt>$Revision: 1.7 $</tt>
37   */
38  public class SCLogger extends Logger {
39  
40      private static SCLoggerFactory myFactory = null;
41  
42      /***
43       *
44       * @param name
45       */
46      public SCLogger(String name) {
47          super(name);
48      }
49  
50      /***
51       *
52       * @param name
53       */
54      public SCLogger(Class name) {
55          super(name.getName());
56          //System.out.println("SCLogger: name="+name+" | " + name.getName());
57      }
58  
59      /***
60       *
61       * @param lg
62       */
63      public static synchronized void initialize(Map lg) {
64          if (myFactory == null) {
65              myFactory = new SCLoggerFactory(lg);
66          }
67      }
68      public static synchronized void initialize() {
69          if (myFactory == null) {
70              Map lg = new Hashtable();
71              lg.put("TRACER",        "no");
72              lg.put("ACCESS",        "no");
73              lg.put("LINK",          "no");
74              lg.put("PERMISSIONS",   "no");
75              lg.put("EXTRACTOR",     "no");
76              lg.put("CONSOLE",       "yes");
77              lg.put("PERSISTER",     "no");
78              lg.put("PROVIDER",      "no");
79  
80              myFactory = new SCLoggerFactory(lg);
81          }
82      }
83      /***
84       *
85       * @param name
86       * @return
87       */
88      public synchronized static Logger getLogger(String name) {
89          if (myFactory != null) {
90              return Logger.getLogger(name, myFactory);
91          } else {
92              return Logger.getLogger(name);
93          }
94      }
95  
96      /***
97       *
98       * @return
99       */
100     public static Logger getPermissionLogger() {
101         return getLogger("PERMISSIONS");
102     }
103     /***
104      *
105      * @return
106      */
107     public static Logger getLinkLogger() {
108         return getLogger("LINK");
109     }
110     /***
111      *
112      * @return
113      */
114     public static Logger getExtractorLogger() {
115         return getLogger("EXTRACTOR");
116     }
117     /***
118      *
119      * @return
120      */
121     public static Logger getPersisterLogger() {
122         return getLogger("PERSISTER");
123     }
124     /***
125      *
126      * @return
127      */
128     public static Logger getRetrieverLogger() {
129         return getLogger("RETRIEVER");
130     }
131     /***
132      *
133      * @return
134      */
135     public static Logger getConsoleLogger() {
136         return getLogger("CONSOLE");
137     }
138     /***
139      *
140      * @return
141      */
142     public static Logger getProviderLogger() {
143         return getLogger("PROVIDER");
144     }
145     /***
146      *
147      * @return
148      */
149     public static Logger getAccessLogger() {
150         return getLogger("ACCESS");
151     }
152 
153 }